classdef Router < handle
    %ROUTER Summary of this class goes here
    %   Detailed explanation goes here
    
    properties
        topology;
        avg_number_of_packet_duplicates = 0;
        number_of_packets_discarded_because_of_threshold = 0;
    end
    
    methods (Abstract)
      packets_for_transmission = get_packets_for_transmission(obj, transmitting_node, packet)
      route_packets_to_nodes(obj,packets_to_route)
    end
   
    methods
        function obj = Router(topology)
            if nargin > 0
                obj.topology = topology;
            end
        end
		
		function clear(obj)
            for i = 1:length(obj.topology.nodes)
                obj.topology.nodes(i).clear();
            end
        end
    end
    
end

